GOTO Amsterdam (June 13-15, 2016) is a vendor independent international software development conference with more than 60 top speakers and 800 attendees. The conference covers topics such as Microservices, Rugged, JavaScript, Post-Agile, Data, Spring++, Connected Worlds & Philosophy.

Presentation: "Software that Fits in Your Head"

Track: Legacy to Microservices / Time: Tuesday 11:30 - 12:20 / Location: Graanbeurszaal

Software gets complicated fast. Most of good architecture and design practise is about trying to slow the rate at which software gets complicated. You can't stop it, it's a form of entropy. You can only slow it down and do your level best to stay on top of things.

One way to manage the mess is to maximise the likelihood that everyone knows what's going on in the codebase. This requires two things: consistency and replaceability.

Consistency implies you can make reasonable assumptions about unfamiliar parts of the application. Replaceability means you can kill code easily and replace it with something better.

Dan North argues that code should either be new enough that someone remembers writing it, or well-enough established that everyone knows how it works. It's code in that awkward middle stage, between brand new and part-of-the-furniture, that gets forgotten about and starts to smell.
If code is going to die it should die quickly. If it is going to stick around it should be stable.

In this talk, Dan describes a model for thinking about the age of code and argues for replaceability as a first class concern. He also discovers that if you optimise for both replaceability and consistency you can end up with something that looks a lot like microservices.

Download slides

Dan North, Agile Troublemaker, Developer, Originator of BDD

Dan North

Biography: Dan North

Dan writes software and coaches teams in agile and lean methods. He believes in putting people first and writing simple, pragmatic software. He believes that most problems that teams face are about communication, and all the others are too. This is why he puts so much emphasis on "getting the words right", and why he is so passionate about behaviour-driven development, communication and how people learn. He has been working in the IT industry since he graduated in 1991, and he occasionally blogs at dannorth.net.

Twitter: @tastapod